- constraint < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > = < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. >
inherit VisitorsRuntime.reduce
method virtual visit_'annot : 'c -> 'd -> 'fmethod virtual visit_'label : 'c -> 'g -> 'fmethod visit_Min_float : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Max_float : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_MaxSafeInteger : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Epsilon : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Random : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Pi : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_UTCTime : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_LocalTime : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_constant : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> constant -> 'fmethod visit_UndefinedType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_NullType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_EmptyType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_NoneType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BooleanType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_NumberType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_StringType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_ObjectType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_ListType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_TypeType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_SetType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_typ : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> typ -> 'fmethod visit_Undefined : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Null : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Empty : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Constant : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> constant -> 'fmethod visit_Bool : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> bool -> 'fmethod visit_Num : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> float -> 'fmethod visit_String : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> 'fmethod visit_Loc : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> 'fmethod visit_Type : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> typ -> 'fmethod visit_LList : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> literal list -> 'fmethod visit_Nono : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_literal : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> literal -> 'fmethod visit_Equal : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_LessThan : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_LessThanEqual : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_LessThanString : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Plus : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Minus : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Times : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Div : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Mod : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BAnd : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BOr : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BitwiseAnd : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BitwiseOr : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BitwiseXor : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_LeftShift : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_SignedRightShift : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_UnsignedRightShift : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BitwiseAndL : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BitwiseOrL : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BitwiseXorL : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_LeftShiftL : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_SignedRightShiftL : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_UnsignedRightShiftL : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_atan2 : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_pow : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_LstNth : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_StrCat : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_StrNth : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_SetDiff : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BSetMem : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BSetSub : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_binop : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> binop -> 'fmethod visit_UnaryMinus : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_UNot : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_BitwiseNot : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_isNaN : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_abs : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_acos : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_asin : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_atan : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_ceil : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_cos : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_exp : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_floor : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_log : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_round : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_sgn : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_sin : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_sqrt : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_M_tan : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_ToStringOp : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_ToIntOp : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_ToUint16Op : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_ToUint32Op : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_ToInt32Op : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_ToNumberOp : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_TypeOf : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Car : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Cdr : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_LstLen : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_LstRev : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_SetToList : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_StrLen : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_unop : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> unop -> 'fmethod visit_LstCat : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_SetUnion : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_SetInter : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_nop : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> nop -> 'fmethod visit_Lit : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> literal -> 'fmethod visit_PVar : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> 'fmethod visit_LVar : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> 'fmethod visit_ALoc : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> 'fmethod visit_UnOp : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> unop -> expr -> 'fmethod visit_BinOp : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> binop -> expr -> 'fmethod visit_LstSub : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> expr -> expr -> 'fmethod visit_NOp : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> nop -> expr list -> 'fmethod visit_EList : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr list -> 'fmethod visit_ESet : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr list -> 'fmethod visit_expr : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> 'fmethod visit_True : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_False : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Not : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> formula -> 'fmethod visit_And : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> formula -> formula -> 'fmethod visit_Or : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> formula -> formula -> 'fmethod visit_Eq : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> expr -> 'fmethod visit_Less : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> expr -> 'fmethod visit_LessEq : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> expr -> 'fmethod visit_StrLess : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> expr -> 'fmethod visit_SetMem : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> expr -> 'fmethod visit_SetSub : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> expr -> 'fmethod visit_ForAll : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> (string * typ option) list -> formula -> 'fmethod visit_formula : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> formula -> 'fmethod visit_Emp : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Star : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> assertion -> assertion -> 'fmethod visit_Pred : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr list -> 'fmethod visit_Pure : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> formula -> 'fmethod visit_Types : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> (expr * typ) list -> 'fmethod visit_GA : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr list -> expr list -> 'fmethod visit_assertion : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> assertion -> 'fmethod visit_bindings : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> bindings -> 'fmethod visit_Fold : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr list -> bindings option -> 'fmethod visit_Unfold : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr list -> bindings option -> bool -> 'fmethod visit_GUnfold : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> 'fmethod visit_ApplyLem : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr list -> string list -> 'fmethod visit_SepAssert : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> assertion -> string list -> 'fmethod visit_Invariant : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> assertion -> string list -> 'fmethod visit_slcmd : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> slcmd -> 'fmethod visit_If : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> lcmd list -> lcmd list -> 'fmethod visit_Branch : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> formula -> 'fmethod visit_Macro : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr list -> 'fmethod visit_Assert : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> formula -> 'fmethod visit_Assume : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> formula -> 'fmethod visit_AssumeType : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> typ -> 'fmethod visit_SpecVar : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string list -> 'fmethod visit_SL : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> slcmd -> 'fmethod visit_lcmd : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> lcmd -> 'fmethod visit_Skip : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Assignment : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr -> 'fmethod visit_LAction : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> string -> expr list -> 'fmethod visit_Logic : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> lcmd -> 'fmethod visit_Goto : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'g -> 'fmethod visit_GuardedGoto : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> expr -> 'g -> 'g -> 'fmethod visit_Call : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'fmethod visit_ECall : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr -> expr list -> 'g option -> 'fmethod visit_Apply : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr -> 'g option -> 'fmethod visit_Arguments : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> 'fmethod visit_PhiAssignment : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> (string * expr list) list -> 'fmethod visit_ReturnNormal : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_ReturnError : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Fail : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> string -> expr list -> 'fmethod visit_cmd : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'g cmd -> 'fmethod visit_Normal : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_Error : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> 'fmethod visit_flag : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> flag -> 'fmethod visit_pred : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> pred -> 'fmethod visit_lemma : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> lemma -> 'fmethod visit_single_spec : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> single_spec -> 'fmethod visit_spec : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> spec -> 'fmethod visit_bispec : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> bispec -> 'fmethod visit_macro : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> macro -> 'fmethod visit_proc : < visit_'annot : 'c -> 'd -> 'f; visit_'label : 'c -> 'g -> 'f; visit_ALoc : 'c -> string -> 'f; visit_And : 'c -> formula -> formula -> 'f; visit_Apply : 'c -> string -> expr -> 'g option -> 'f; visit_ApplyLem : 'c -> string -> expr list -> string list -> 'f; visit_Arguments : 'c -> string -> 'f; visit_Assert : 'c -> formula -> 'f; visit_Assignment : 'c -> string -> expr -> 'f; visit_Assume : 'c -> formula -> 'f; visit_AssumeType : 'c -> string -> typ -> 'f; visit_BAnd : 'c -> 'f; visit_BOr : 'c -> 'f; visit_BSetMem : 'c -> 'f; visit_BSetSub : 'c -> 'f; visit_BinOp : 'c -> expr -> binop -> expr -> 'f; visit_BitwiseAnd : 'c -> 'f; visit_BitwiseAndL : 'c -> 'f; visit_BitwiseNot : 'c -> 'f; visit_BitwiseOr : 'c -> 'f; visit_BitwiseOrL : 'c -> 'f; visit_BitwiseXor : 'c -> 'f; visit_BitwiseXorL : 'c -> 'f; visit_Bool : 'c -> bool -> 'f; visit_BooleanType : 'c -> 'f; visit_Branch : 'c -> formula -> 'f; visit_Call : 'c -> string -> expr -> expr list -> 'g option -> bindings option -> 'f; visit_Car : 'c -> 'f; visit_Cdr : 'c -> 'f; visit_Constant : 'c -> constant -> 'f; visit_Div : 'c -> 'f; visit_ECall : 'c -> string -> expr -> expr list -> 'g option -> 'f; visit_EList : 'c -> expr list -> 'f; visit_ESet : 'c -> expr list -> 'f; visit_Emp : 'c -> 'f; visit_Empty : 'c -> 'f; visit_EmptyType : 'c -> 'f; visit_Epsilon : 'c -> 'f; visit_Eq : 'c -> expr -> expr -> 'f; visit_Equal : 'c -> 'f; visit_Error : 'c -> 'f; visit_Fail : 'c -> string -> expr list -> 'f; visit_False : 'c -> 'f; visit_Fold : 'c -> string -> expr list -> bindings option -> 'f; visit_ForAll : 'c -> (string * typ option) list -> formula -> 'f; visit_GA : 'c -> string -> expr list -> expr list -> 'f; visit_GUnfold : 'c -> string -> 'f; visit_Goto : 'c -> 'g -> 'f; visit_GuardedGoto : 'c -> expr -> 'g -> 'g -> 'f; visit_If : 'c -> expr -> lcmd list -> lcmd list -> 'f; visit_Invariant : 'c -> assertion -> string list -> 'f; visit_LAction : 'c -> string -> string -> expr list -> 'f; visit_LList : 'c -> literal list -> 'f; visit_LVar : 'c -> string -> 'f; visit_LeftShift : 'c -> 'f; visit_LeftShiftL : 'c -> 'f; visit_Less : 'c -> expr -> expr -> 'f; visit_LessEq : 'c -> expr -> expr -> 'f; visit_LessThan : 'c -> 'f; visit_LessThanEqual : 'c -> 'f; visit_LessThanString : 'c -> 'f; visit_ListType : 'c -> 'f; visit_Lit : 'c -> literal -> 'f; visit_Loc : 'c -> string -> 'f; visit_LocalTime : 'c -> 'f; visit_Logic : 'c -> lcmd -> 'f; visit_LstCat : 'c -> 'f; visit_LstLen : 'c -> 'f; visit_LstNth : 'c -> 'f; visit_LstRev : 'c -> 'f; visit_LstSub : 'c -> expr -> expr -> expr -> 'f; visit_M_abs : 'c -> 'f; visit_M_acos : 'c -> 'f; visit_M_asin : 'c -> 'f; visit_M_atan : 'c -> 'f; visit_M_atan2 : 'c -> 'f; visit_M_ceil : 'c -> 'f; visit_M_cos : 'c -> 'f; visit_M_exp : 'c -> 'f; visit_M_floor : 'c -> 'f; visit_M_isNaN : 'c -> 'f; visit_M_log : 'c -> 'f; visit_M_pow : 'c -> 'f; visit_M_round : 'c -> 'f; visit_M_sgn : 'c -> 'f; visit_M_sin : 'c -> 'f; visit_M_sqrt : 'c -> 'f; visit_M_tan : 'c -> 'f; visit_Macro : 'c -> string -> expr list -> 'f; visit_MaxSafeInteger : 'c -> 'f; visit_Max_float : 'c -> 'f; visit_Min_float : 'c -> 'f; visit_Minus : 'c -> 'f; visit_Mod : 'c -> 'f; visit_NOp : 'c -> nop -> expr list -> 'f; visit_NoneType : 'c -> 'f; visit_Nono : 'c -> 'f; visit_Normal : 'c -> 'f; visit_Not : 'c -> formula -> 'f; visit_Null : 'c -> 'f; visit_NullType : 'c -> 'f; visit_Num : 'c -> float -> 'f; visit_NumberType : 'c -> 'f; visit_ObjectType : 'c -> 'f; visit_Or : 'c -> formula -> formula -> 'f; visit_PVar : 'c -> string -> 'f; visit_PhiAssignment : 'c -> (string * expr list) list -> 'f; visit_Pi : 'c -> 'f; visit_Plus : 'c -> 'f; visit_Pred : 'c -> string -> expr list -> 'f; visit_Pure : 'c -> formula -> 'f; visit_Random : 'c -> 'f; visit_ReturnError : 'c -> 'f; visit_ReturnNormal : 'c -> 'f; visit_SL : 'c -> slcmd -> 'f; visit_SepAssert : 'c -> assertion -> string list -> 'f; visit_SetDiff : 'c -> 'f; visit_SetInter : 'c -> 'f; visit_SetMem : 'c -> expr -> expr -> 'f; visit_SetSub : 'c -> expr -> expr -> 'f; visit_SetToList : 'c -> 'f; visit_SetType : 'c -> 'f; visit_SetUnion : 'c -> 'f; visit_SignedRightShift : 'c -> 'f; visit_SignedRightShiftL : 'c -> 'f; visit_Skip : 'c -> 'f; visit_SpecVar : 'c -> string list -> 'f; visit_Star : 'c -> assertion -> assertion -> 'f; visit_StrCat : 'c -> 'f; visit_StrLen : 'c -> 'f; visit_StrLess : 'c -> expr -> expr -> 'f; visit_StrNth : 'c -> 'f; visit_String : 'c -> string -> 'f; visit_StringType : 'c -> 'f; visit_Times : 'c -> 'f; visit_ToInt32Op : 'c -> 'f; visit_ToIntOp : 'c -> 'f; visit_ToNumberOp : 'c -> 'f; visit_ToStringOp : 'c -> 'f; visit_ToUint16Op : 'c -> 'f; visit_ToUint32Op : 'c -> 'f; visit_True : 'c -> 'f; visit_Type : 'c -> typ -> 'f; visit_TypeOf : 'c -> 'f; visit_TypeType : 'c -> 'f; visit_Types : 'c -> (expr * typ) list -> 'f; visit_UNot : 'c -> 'f; visit_UTCTime : 'c -> 'f; visit_UnOp : 'c -> unop -> expr -> 'f; visit_UnaryMinus : 'c -> 'f; visit_Undefined : 'c -> 'f; visit_UndefinedType : 'c -> 'f; visit_Unfold : 'c -> string -> expr list -> bindings option -> bool -> 'f; visit_UnsignedRightShift : 'c -> 'f; visit_UnsignedRightShiftL : 'c -> 'f; visit_assertion : 'c -> assertion -> 'f; visit_bindings : 'c -> bindings -> 'f; visit_binop : 'c -> binop -> 'f; visit_bispec : 'c -> bispec -> 'f; visit_cmd : 'c -> 'g cmd -> 'f; visit_constant : 'c -> constant -> 'f; visit_expr : 'c -> expr -> 'f; visit_flag : 'c -> flag -> 'f; visit_formula : 'c -> formula -> 'f; visit_lcmd : 'c -> lcmd -> 'f; visit_lemma : 'c -> lemma -> 'f; visit_literal : 'c -> literal -> 'f; visit_macro : 'c -> macro -> 'f; visit_nop : 'c -> nop -> 'f; visit_pred : 'c -> pred -> 'f; visit_proc : 'c -> ('d, 'g) proc -> 'f; visit_single_spec : 'c -> single_spec -> 'f; visit_slcmd : 'c -> slcmd -> 'f; visit_spec : 'c -> spec -> 'f; visit_typ : 'c -> typ -> 'f; visit_unop : 'c -> unop -> 'f; .. > -> 'c -> ('d, 'g) proc -> 'f